1. Technical Field
The disclosed embodiments relate generally to Computer-Aided Design (CAD) and, more specifically, to the process and method of automatically generating a 3-Dimensional model from one or more 2-Dimensional CAD drawings.
2. Background
When developing a 2D drawing, designers must visualize in their minds the structure they are trying to propose, and communicate the features and components of the structure to a fellow designer through a series of plans, elevations, side views, or planes in non-orthogonal view.
In 2D drawings, all views such as plan, elevation, and side view are drawn on the same plane. In other words, regardless of whether the view direction chosen describes a plan, an elevation or a side view, they are all described in the X-and-Y-axis plane of a 2D CAD drawing. When these individual views are drawn in an XY plane, the relationship of each drawing with respect to the other drawings, as well as the location of the defined 2D objects in 3-Dimensional space are completely lost. Substantial human effort is required to convert the individual drawings into a uniform 3D context to allow generation of a 3D model. Currently, applications allowing the generation of a 3D model from 2D CAD drawings with minimal human intervention are not commercially available.
2D CAD Drawings
According to structural engineering standards, a 2D CAD drawing comprises a hidden line, structure or “struct” line, and center line for portraying a 2D view of a 3D model. For example, struct lines 102 and hidden lines 104 are used to represent the outer diameter 106 and wall thickness 108 of a pipe 100 illustrated in FIG. 1. The section properties (outer diameter 106 and wall thickness 108) are provided parallel to the center line 110. The disclosed invention reads the properties and associates them with each center line. The section property of each member is defined relatively near to its center line on a separate layer. Layers are a way of managing, tidying and also controlling the visual layout of a drawing. Most of the leading CAD programs offer layering capabilities that enable the user to group specific data on different layers. This allows the user to organize data within a drawing, which makes it easier to retrieve the object information embedded within CAD drawings.
While defining a structural engineering drawing using a CAD program, each feature of the drawing is shown on different layers. Exemplary layers may include the hidden line layer, struct line layer, center line layer, and text layer. Additional layers, such as the complex layer, master layer, and the 3D-points layer, may also be included. Exemplary layers are defined herein.
Center Line Layer
The center line layer shows the center line 110 of each member in the drawing; it is basically the skeleton drawing of the model. The center line layer 110 is illustrated in FIG. 1.
Section Property Text Layer
The section property of each member is defined in the section property text layer. The section property may include the material information and section details. For example, with reference to FIG. 2, the following dimensions are defined:Pipe 200=outer diameter 202*pipe thickness 204I Section 250=total depth 252*total width 254*flange thickness 256*web thickness 258For the dimensions defined above in FIG. 2, FIG. 2(a) represents the section of pipe 200, and FIG. 2(b)b represents the “I section” 250. The section properties outer diameter 202 and pipe thickness 204 are provided for FIG. 2(a), and section properties height (depth) 252, width 254, flange thickness 256, and web thickness 258 are provided for FIG. 2(b). The disclosed invention reads the section properties and assigns them to their corresponding center line.
Struct Line and Hidden Line Layer
This layer contains all the struct lines 302 and hidden lines 304 of the drawing. Struct lines 302 and 312 and hidden lines 304 and 314 are used to determine if a member has variable section 312 or single section 302 properties. The member is considered simple 300 if the section property of the member does not vary, and complex 310 if the section property of the member does vary. FIG. 3(a) illustrates a simple member 300 and FIG. 3(b) illustrates a complex member 310.
Complex Layer
The complex layer 400 of FIG. 4 contains all the points of the member in which the section varies. The varying section property of the member is determined based on the complex points 402 specified at the point of variation 404 along the hidden line 406. This layer is used if the struct line and the hidden line are not present in the 2D drawing. The diagram presented in FIG. 4 illustrates a simple example of a complex joint with a point 402 located where the section properties 404 vary for a section of a pipe shown by struct line 408.
Master Layer
When a point is defined in a master layer 500, as in FIG. 5, a joint may be created on the structure. A joint 502 is located at the intersection of two or more center lines 504 and 506, as well as at the end of each center line. If a member splits, then the master joint should be specified where the member is split into multiple parts. An exemplary master joint 502 is illustrated in FIG. 5.
3D-Points Layer
The information provided in the 3D-points layer establishes the placement in 3D space of the objects defined in a drawing, and the relationship of the drawing to other drawings. The 3D points provide the position of a point on the X, Y, and Z axes in 3D space.
2D CAD drawings are typically represented in the format described herein. The material properties should be specified with a leader line, while section properties should be specified parallel to and near the center line, and in a separate layer. The leader line is a line with an arrow at one end, usually accompanied by text. It is used to represent the association of a text to an object. Limits are specified for considering text near the center line, and any text away from the limit is not considered text defining the section property. The text may be of the standard or non-standard (user-defined) format, wherein standard sections are documented in code book standards. Gaps may be represented by providing an arc touching two lines with text near it specifying the gap value. 3D points should be specified in the 3D-points layer.